Souper: A Synthesizing Superoptimizer

نویسندگان

  • Raimondas Sasnauskas
  • Yang Chen
  • Peter Collingbourne
  • Jeroen Ketema
  • Jubi Taneja
  • John Regehr
چکیده

If we can automatically derive compiler optimizations, we might be able to sidestep some of the substantial engineering challenges involved in creating and maintaining a highquality compiler. We developed Souper, a synthesizing superoptimizer, to see how far these ideas might be pushed in the context of LLVM. Along the way, we discovered that Souper’s intermediate representation was sufficiently similar to the one in Microsoft Visual C++ that we applied Souper to that compiler as well. Shipping, or about-to-ship, versions of both compilers contain optimizations suggested by Souper but implemented by hand. Alternately, when Souper is used as a fully automated optimization pass it compiles a Clang compiler binary that is about 3 MB (4.4%) smaller than the one compiled by LLVM.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Precondition Inference for Peephole Optimizations in LLVM

Peephole optimizations are a common source of compiler bugs. Compiler developers typically transform an incorrect peephole optimization into a valid one by strengthening the precondition. This process is challenging and tedious. This paper proposes ALIVE-INFER, a data-driven approach that infers preconditions for peephole optimizations expressed in Alive. ALIVE-INFER generates positive and nega...

متن کامل

Using Binary Decision Diagrams to Determine Program Equivalence in a Superoptimizer

A superoptimizer is a tool capable of generating an optimal program that computes a desired function. This thesis describes a superoptimizer that uses binary decision diagrams to determine if a generated candidate programs is equivalent to a given target program known to compute the desired function. The superoptimizer is shown to work well for generating program consisting of instructions no m...

متن کامل

Look at the Smal les t Program

Given an instruction set, the superoptimizer finds the shortest program to compute a function. Startling programs have been generated, many of them engaging in convoluted bit-fiddling bearing little resemblance to the source programs which defined the functions. The key idea in the superoptimizer is a probabilistic test that makes exhaustive searches practical for programs of useful size. The s...

متن کامل

Application of Phase Transfer Catalyst for Synthesizing of 5, 5-diphenylimidazolidine-2,4-dione as a Famous Anticonvulsant Drug

Epilepsy is a major neurological disorder in the world and most epileptics are currently controlled by a variety of drugs. 5, 5-diphenylimidazolidine-2,4-dione (Phenytoin, I) is a widely used antiepileptic drug. It has been synthesized previously by different methods in some solvents. In this work, I was synthesized from the condensation of benzil and urea in ethanol and water by application of...

متن کامل

Two novel methods for synthesizing poly (propylene fumarate): Technical aspects and role of vacuum and N2 purging effects

Poly (propylene fumarate) (PPF), a linear unsaturated polyester consisting of alternating propylene glycol and fumaric acid units, can be cured in vivo to fill the skeletal defects with minimal surgical intervention. Many different methods have been reported for synthesizing PPF, but none of them gives a clear method. The present paper introduces two new methods in PPF synthesis: Modified reflu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1711.04422  شماره 

صفحات  -

تاریخ انتشار 2017